package com.leyou.common.advice;

import com.leyou.common.exceptions.LyException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * @author 虎哥
 */
@Slf4j
@ControllerAdvice
public class HandlerExceptionAdvice {

    /**
     * 方法加了@ExceptionHandler，代表是处理异常的方法。此处只处理LyException异常。
     * 每当Controller抛出LyException异常，都会交给当前方法来处理
     * 这个方法的返回值，就会作为最终的返回值
     * @return 友好提时
     */
    @ExceptionHandler(LyException.class)
    public ResponseEntity<String> handleLyException(LyException e){
        return ResponseEntity.status(e.getStatus()).body(e.getMessage());
    }

    /*@ExceptionHandler(RuntimeException.class)
    public ResponseEntity<String> handleException(RuntimeException e){
        log.error(e.getMessage(), e);
        return ResponseEntity.status(500).body(e.getMessage());
    }*/
}
